package cnsatmsmart.automation.mmi.controller.Buffer;

import cnsatmsmart.automation.mmi.controller.Buffer.FlightList;
import java.util.Calendar;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * Merupakan kelas yang mengimplementasikan Runnable.
 * Objek dari kelas ini akan mengecek keter-update-an suatu data pesawat, apabila data pesawat tidak diperbaharui dalam waktu 30 detik maka akan dihapus dari list
 * @author SIK - PTIK, BPPT
 */
public class OffCheckThread implements Runnable
{
    /* Atribut-atribut yang dimiliki oleh kelas OffCheckThread */
        private FlightList FlightData;
        private boolean ExitThread = false;

    /* Constructor - user defined constructor, no default constructor */
        /**
         * Konstruktor
         * @param flightdata List dari data pesawat
         */
        public OffCheckThread(FlightList flightdata)
        {
            this.FlightData = flightdata;
        }

    /* method-method untuk thread */
        /**
         * Keluar dari thread
         */
        public void Exit()
        {
            this.ExitThread = true;
        }

        public void run() {
            Calendar now;

            while (!ExitThread)
            {
                now = Calendar.getInstance();
                FlightData.OffCheck();          

                try {
                    Thread.sleep(100);
                } catch (InterruptedException ex) {
                    Logger.getLogger(OffCheckThread.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
}
